{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "Using KMeans for outlier detection"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from sklearn.datasets import make_blobs\n",
    "X, labels = make_blobs(100, centers=1)\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "KMeans(algorithm='auto', copy_x=True, init='k-means++', max_iter=300,\n",
       "    n_clusters=1, n_init=10, n_jobs=1, precompute_distances='auto',\n",
       "    random_state=None, tol=0.0001, verbose=0)"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.cluster import KMeans\n",
    "kmeans = KMeans(n_clusters=1)\n",
    "kmeans.fit(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0xa826f60>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAd4AAAFCCAYAAABfOrz7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X18nHWZ7/HvVZq007QppoTaB5gAgqBroUhZHzHFFmE5\nVlZ0a13Qo9lCBRbW7lG3LWtbgaLsynqOB+XBroBLQw/LLiiroJVGXoBsSykUoVVAJgWLZKQYoQ1t\nSq/zxyRpkk4yD5m5H2Y+79drXs3M3HPPb+6Z3td9/R7N3QUAAIIxKuwCAABQTQi8AAAEiMALAECA\nCLwAAASIwAsAQIAIvAAABIjAC8SImX3fzL6W57b7zezocpcJQGEIvEDEmFnKzHab2Z/M7BUz+5GZ\nTStiVwzSByKIwAtEj0s6293rJU2R1CHp20Xsx0paKgAlQeAFoskkyd33Svp3Se/IupHZQjN7xsz+\nYGZ3mdmUQZucbWbPmVmHmV1T5jIDyAOBF4gwMxsnab6kX2Z57nRJqyR9QpnMeLuk2wdtdo6kk3tu\nHzOzz5e1wAByGh12AQBkdZeZ7ZM0Xpmq5o9k2ebTkla7+xOSZGZLJL1qZke6+/aebb7u7p2SOs3s\nW5IWSPrX8hcfwFDIeIFo+pi7N0gaI+lvJT1gZocP2maqpPbeO+6+S9Irkvp3xHqx39/tPa8BECIC\nLxBNvW287u7/KelNSR8YtM0OScm+F5jVSZqkgcH2iH5/H9nzGgAhIvACEWdmH5N0qKStg55qlfQ5\nM5thZmOUae99xN1f6LfNl8zsUDM7QtJlOrgNGEDAaOMFoulHZvamMkOL2iV9xt23mh0YIeTuPzez\nf5T0H8oE5oclfarfPlzS3ZI2SaqX9H3RvguEztxzj7E3sy9KapG0X9KTkj7XM8wBAAAUIGdVs5lN\nVaZzx8nuPkOZLPlTw78KAABkk29V8yGS6sxsv6RxooMGAABFyZnxuvsOSd9UZnD+7yT90d3Xlbtg\nAABUonyqmg+V9DFlhi1MlTTezD5d7oIBAFCJ8qlqniPpt+6+U5LM7D8kvU/Smv4bmRkroQAAqoq7\nF7wYST7jeLdLeo+ZjbXMWIYP6+DxhL0F4Jbjtnz58tDLEIcbx4ljxXHiWEX9Vqx82ng3KLM6ymZJ\nTygzo86NRb8jAABVLK9eze6+UtLKMpcFAICKx5SRAWtubg67CLHAccofxyo/HKf8cazKK6+Zq/La\nkZmXal8AAESdmcmL6FzFXM0AEANNTU1qb2/PvSFKLplMKpVKlWx/ZLwAEAM92VXYxahKQx37YjNe\n2ngBAAgQgRcAgAAReAEACBCBFwAQiquvvloXXHBB2MUIHJ2rACAGot65qqmpSR0dHRo9erTq6up0\n5pln6rrrrtO4ceNKsv+VK1fqueee06233lqS/RWCzlUAgILs379fDzzwgO655x6l0+myvIeZ6b/+\n67/0pz/9SY899pgeffRRXXnllWV5r7gj8AJAzHV2duoXv/iFNm/efFBmtm/fPs2de47OPvsL+uu/\n/r869tgZ2rx5c1nK0fveU6ZM0VlnnaVf/epXeumllzRv3jxNmjRJxx13nL73ve/1bb9y5Uqdf/75\nkqT29naNGjVKt956q5LJpA4//HCtWrVKknTfffdp1apVWrt2rSZMmKCZM2dKkm6++WYdc8wxqq+v\n1zHHHKPW1tayfK5SYwINAIixp556SqeddqbefPNI7du3Q3PmvFd33vkDHXLIIZKkW265RY888pp2\n735cUo2kH+i8876gp556pG8fXV1dWrp0pR588FEde2yTrr32Sr31rW8tukwvvPCCfvzjH+vcc8/V\npz71Kb3rXe/SnXfeqaefflpz587V2972tr5pKTOL3h3w0EMP6ZlnntG2bdt06qmn6txzz9VHPvIR\nLV26dEBV8+7du3XZZZdp06ZNetvb3qaXX35ZO3fuLLrMQSLjBYAY+/SnL9Srr/6jOjsf0q5dW7Vu\nXbtuu+22vudTqXbt3n2aMkFXkmbrxRcPzIDl7jrnnE/r+uuf0aOP/i/dcUeDTj21Wbt27Sq4LOec\nc44aGhp02mmnafbs2Vq4cKEefvhhXXPNNaqpqdGJJ56ov/mbvxmyndbMtGLFCtXW1mrGjBk68cQT\n9cQTTwz5focccoiefPJJvfHGG5o8ebJOOOGEgsscBgIvAMRYKvWs3M/uuTdWu3bN0TPPPNv3/KxZ\np6iu7v9J6pDkGj36O5o58919z7/yyitqa1uvN95olXSm9u27Rp2djXrwwQcLLsvdd9+tnTt36vnn\nn9e3v/1t7dixQw0NDQM6WCWTSf3ud78bch+TJ0/u+3vcuHF6/fXXs243btw4rV27Vt/97nc1ZcoU\nffSjH9Wvf/3rgsscBgIvAMTYO985Q4ccckvPvT+qru4unXTSiX3Pz5s3T5deOl81NUdp7NjDdeyx\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x9f23828>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "f, ax = plt.subplots(figsize=(8, 5))\n",
    "ax.set_title(\"Blob\")\n",
    "ax.scatter(X[:, 0], X[:, 1], label='Points')\n",
    "ax.scatter(kmeans.cluster_centers_[:, 0],kmeans.cluster_centers_[:, 1], label='Centroid',color='r')\n",
    "ax.legend()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "distances = kmeans.transform(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# argsort returns an array of indexes which will sort the array in ascending order\n",
    "# so we reverse it via [::-1] and take the top five with [:5]\n",
    " \n",
    "sorted_idx = np.argsort(distances.ravel())[::-1][:5] "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0xaa97cc0>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n9mzNysrSLl26aNOmTXXs2LFVYpo3b55edNFFGhsbqzfeeKPmOFqWXlXXrFmj0dHRWlRUZH/ss88+\n0xYtWthX7H3++ee1ffv22rhxY73kkkv0o48+spdduHChXnPNNVXirLzSb3Jyss6bN8/luGo6/4NL\nq5MvBdtS4lRV5c/7A589oE+vfrrGsk98+YT2nt9bx342tsYy4z4fpwkvJ+iyzcscbj9y6oie9+J5\nuiVvi1Px1ZaYTp06pZ06ddK3335bv/nmG42Pj7evWJuRkaFt2rSpUn7SpEkaHh6uy5cvV1XV06dP\nO7U8+/33369nzpzRL7/8Uhs1aqS33HKLHjp0SPfu3avNmzfXb775RlVVP/74Y+3YsaNu375dy8rK\ndOrUqdqzZ88a31unTp30vffes98fNmyYPvzww/b7y5Yt0wO2VYPff/99jYyMtN+vnphCQkJqTEyu\nxMXERKaQmZmpMTE9qqyQHR3dXTMzM40OjXyg8ue92fRmmn00u8ay9//nfp2UMUmbTW/mcHthcaHG\nvhCrt75/q85bN89hGVXVf63+lz6Y9qBT8SUmJmrjxo21adOm2qRJE23atKnOnTvXvj0zM1NjY2M1\nMTHRvmy6as2J6brrrqvymDPLs+/fv9++PS4uTt9//337/aFDh+rMmTNVVXXgwIE6f/58+7aysjKN\niIjQ3Nxch+/t2Wef1QEDBqiqakFBgUZEROj69etrPBbdunWzJ1VXEpMrcXk6MbGPierF0QqvXDAv\nOB0pOoJWjVvVuL1V41bIL8zHkaIjDrfvOroLLSJbYN+JfWgZVfMqsgPaD8Da/ecuT16TTz75xL5C\n7ZEjR5CSkmLflpSUhHbt2kFV8Ze//KXOfVUfEFGxPHtsbCxiY2Nx8cUXn7M8e/Pmze2/WyyWKsu1\nWywW+3LtOTk5GDdunH1fcXFxEBHs3bvXYSzDhw9HRkYGDhw4gGXLlqFDhw7o0qWLffuiRYvQvXt3\nNG3aFE2bNsXmzZtx6NChOt9jda7G5UlMTFQvjlZ45YJ5walFZAvsOrqrxu1/veyveHfDu2ge2dzh\ndoHgdOlpZB/LRr92/WrcT7mWuxSX1jJY4vXXX0dxcTFatWqFF1544WwsTiydDri3PHt1bdq0wZtv\nvlllXydPnsRVV13lsHzbtm1xzTXX4J133sG7776Lu+++274tNzcXI0eOxKxZs3D06FEcPXoUl1xy\n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\nUaAQESQnJuPjbR/jhsQbUFycDWADKmpMJSU5SExMxEdbP0JyYrKhsVL9ZGRkICMjw+39ONWUJyKL\nABxS1fG1lGFTHhHVavn25fjn6n/ih5QfsPzD/yAlZQzCwhJQUpKDefNmYdDQm5A0Jwkv3/Aybuxw\no9Hhkpvq25TnzHDxXgC+AbARgNpuE1R1RbVyTExEVCtVRcryFOw8uhNv/ulNxGkcsrOzkZiYiHzk\nY8SnI3Bp/KWY/afZEHH5fEYm47XE5EIATExEVKdyLccL372Amf+diQ6xHdAmpg1yC3Kx++hu/M9V\n/4NHez6KEOG1/4GAiYmI/EpxWTFW716Nw6cOIz4yHn0S+yAsNMzosMiDmJiIiMhUvD5cnIiIyBeY\nmIiIyFSYmIiIyFSYmIiIyFSYmIiIyFSYmIiIyFSYmIiIyFSYmIiIyFSYmIiIyFSYmIiIyFSYmIiI\nyFSYmIiIyFSYmIiIyFSYmIiIyFSYmIiIyFSYmIiIyFSYmIiIyFSYmIiIyFSYmIiIyFSYmIiIyFSY\nmIiIyFSYmIiIyFSYmIiIyFSYmIiIyFSYmIiIyFSYmIiIyFSYmIiIyFSYmIiIyFSYmIiIyFTqTEwi\nMk9EDorIBl8EREREwc2ZGtMCADd4O5BAkJGRYXQIhuMx4DEAeAwAHgN31JmYVPU7AEd9EIvf4z8i\njwHAYwDwGAA8Bu5gHxMREZkKExMREZmKqGrdhUQSAHyqql1qKVP3joiIKKioqrj6nAZOlhPbzaMv\nTkREVJ0zw8UXA1gD4EIRyRWRe7wfFhERBSunmvKIiIh8xWODH0Skq4j8ICI/i0imiFzuqX37CxFZ\nIiLrbLfdIrLO6JiMIiIPishWEdkoIs8bHY+vichEEfm90v/DjUbHZBQReUREykUk1uhYfE1EnhGR\n9bbz4goROc/omHxNRKbbzgW/iMiHIhJd53M8VWMSkZUAXlLVL0RkIIDHVLWPR3buh0TkRQDHVPVZ\no2PxNRFJBjABwB9VtVREmqnqIYPD8ikRmQjghKrOMDoWI4nI+QDmAugE4A+qesTgkHxKRKJU9aTt\n9wcBXKyq9xsclk+JSD8Aq1W13PYlVVX1ydqe48nh4uUAYmy/NwGw14P79ke3AUg1OgiD3A/geVUt\nBYBgS0qVcEAQ8DKAfxgdhFEqkpJNJKznyaCiqqtUteJ9/wjg/Lqe48nE9DCAF0UkF8B0ALVmxEAm\nItcAOKCqO42OxSAXArhWRH4UkfRgbNa1GWtrvpgrIjF1Fw8sIjIYwB5V3Wh0LEYSkWdt58U7ATxt\ndDwGuxfA53UVcqkpT0S+BNCi8kMAFMBTAPoBSFfVj0XkVgCjVLW/SyH7gdqOgap+aiszC8Cvqvqy\nASH6RC3H4Z8ApsJadR8nIkkAlqpqOwPC9Ko6Pg8/AjikqioizwJoqaopBoTpVXX8H0wA0F9VT4jI\nbgCXq+phA8L0KmfOCbZyjwOwqOok30bofU6eF58C0ENVh9a5Pw/2MR1T1SaV7heoajB+SwyFtRmz\nh6ruMzoeI4hIGoAXVPVr2/3fAFwZiCclZzhzgXqgEZFLAawCcArWk9T5sH4urlDVPCNjM4qItAGQ\npqqXGR2Lr4nI3wGMAHC9qp6pq7wnm/L2ish1tiD6AtjhwX37k/4AtgZrUrL5GMD1ACAiFwIIC7ak\nVG301Z8BbDIqFiOo6iZVPU9V26nqBQB+B9A92JKSiHSodHcIgK1GxWIU24jUfwAY7ExSApyf+cEZ\nIwC8aqsxnAYw0oP79ie3I3gHPVRYAGC+iGwEcAbAXQbHY4TpItIN1s7ubACjjA3HcIrgHAzyvO3L\nWTmAHACjDY7HCK8BCAfwpYgAwI+qOqa2J/ACWyIiMhXOLk5ERKbCxERERKbCxERERKbCxERERKbC\nxERERKbCxERERKbCxERERKbCxERERKby/5zdmdSDRZdfAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xa34e208>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "f, ax = plt.subplots(figsize=(7, 5))\n",
    "ax.set_title(\"Single Cluster\")\n",
    "ax.scatter(X[:, 0], X[:, 1], label='Points')\n",
    "ax.scatter(kmeans.cluster_centers_[:, 0],kmeans.cluster_centers_[:, 1],label='Centroid', color='r')\n",
    "ax.scatter(X[sorted_idx][:, 0], X[sorted_idx][:, 1],label='Extreme Value', edgecolors='g',facecolors='none', s=100)\n",
    "ax.legend(loc='best')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0xad229b0>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n3ybpQEV5knCxqohOtToEFXtKslFRniStadOmUFm5lmXL5lNZuTYqQSkVcxYq9pR0oRyTpJxUzVmk\n6nFJ6lKOScQvVXMW8eh8KuIFyjFJygk3Z5FsdVHJll5JX8oxSVRF0iTZK82Yw8lZJGNdVFFREePG\njVNQkpSlHJN0EslIDF4cvaG7nIXqbERiSyM/SFREcrFO1gu8ZikViS0V5UlURNJwIFkbG6hzr4g3\nKTBJO5FcrJP1Ah/LVm5eqW8TSUYKTNJOJBfrZG7GrM69It6jOiYJKJImyWrGnLz1bSKxoKnVJaoi\nmVJa01CHN223iASmojyRKErW+jYRL1FgEomiZK5vE/EK1TGJxIDq20TUwVZERDxGHWxFRCQlKDCJ\niIinKDCJiIinKDCJiIinKDCJiIinKDCJiIinKDCJiIinKDCJiIinKDCJiIinKDCJxJgmDRQJjwKT\nSAxp0kCR8GmsPJEY0aSBku40Vp6Ix7RMGugLStB20kARCa7bwGRmOWb2ppmtMrP3zGxmPBImkuw0\naaBIZLoNTM65OmCic240cBjwIzP7dsxTJpLkNGmgSGTCqmMys3zg78DPnXMrO6xTHZNIAJo0UNJV\nTCcKNLMM4G3gQOB259yVAbZRYBIRkVaRBqZeoWzknGsGRptZAfC4mR3qnPug43azZs1q/b+srIyy\nsrJw0yMiIklq+fLlLF++vMf7Cbu5uJn9DtjlnLu5w3LlmEREpFXMmoub2UAz6+f/Pw+YBKwNP4ki\nIiLdC6Uorxi411/PlAEscc49FdtkiYhIutLIDyIiEhMa+UFERFKCApOIiHiKApOIiHiKApOIiHiK\nApOIiHiKApOIiHiKApOIiHiKApOIiHiKApOIiHiKApOIiHiKApOIiHiKApOIiHiKApOIiHiKApOI\niHiKApOIiHiKApOIiHiKApOIiHiKApOIiHiKApOIiHiKApOIiHiKApOIiHiKApOIiHiKApOIiHiK\nApOIiHiKApOIiHiKApOIiHiKApOIiHiKApOIiHiKApOIiHiKApOIiHiKApOIiHiKApOIiHiKApOI\niHiKApOIiHiKApOIiHiKApOIiHiKApOIiHhKt4HJzPYzsxfN7J9m9p6Z/ToeCRMRkfQUSo6pEbjE\nOfdNYDzwCzMbEdtkpY/ly5cnOglJSectMjpvkdF5i69uA5NzbqNz7l3//zuBD4GhsU5YutAXPjI6\nb5HReYuMzlt8hVXHZGalwGHAm7FIjIiISMiBycz6AI8AF/lzTiIiIlFnzrnuNzLrBTwBPO2c+58g\n23S/IxERSSvOOQv3NaEGpvuALc65SyJJmIiISKi6DUxmdiTwd+A9wPkfM5xzz8Q+eSIikm5CyjGJ\niIjES9RGfjCzh8zsHf/jczN7J1r7TnVm9isz+9DfgXleotOTLMxsppl92eZ798NEpymZmNl/mVmz\nmRUmOi3JwMyuNbPVZrbKzJ4xs30TnaZkYGY3+q9v75rZo2ZW0O1rYpFjMrM/Atucc3OjvvMUY2Zl\nwAzgOOdco5kNdM5tSXCykoKZzQR2OOduTnRako2Z7QfcDRwMHO6cq05wkjzPzPq0tEg2s18Bhzrn\nfp7gZHmemR0LvOica/bfeDvn3JVdvSZWY+WdDiyO0b5Tzc+Bec65RgAFpbCF3eJHALgFuDTRiUgm\nHbrJ9AaaE5WWZOKcW+acazlXbwD7dfeaqAcmMzsa2Oic+zTa+05RBwHfM7M3zOwlMxub6AQlmV/6\niwjuNrN+iU5MMjCzE4AvnHPvJTotycbM5prZOuAM4JpEpycJnQc83d1GYRXlmdnzwOC2i/C10rvK\nOfc3/zZ3AP9yzt0SVnJTWBfn7WrgOnzZ3IvMbBywxDn3jQQk05O6+s7hu/va4pxzZjYXKHbOlScg\nmZ7TzXduBjDJObfDzD4HxjrntiYgmZ4TyjXOv93lQJ5zblZ8U+hNIcaGq4AxzrlTut1fNOuYzCwT\n+Mr/5uujtuMUZmZPATc45172P/8E+I4uFOExsxLgb865kYlOi5eZ2beAZcBufBeP/fD9Zr/tnNuc\nyLQlEzPbH3jKOff/Ep2WZGBm5wDnA8c45+q62z7aRXmTgA8VlMLyOHAMgJkdBGQpKIWmQ6uonwLv\nJyotycI5975zbl/n3DeccwcAXwKjFZS6Z2bD2zw9Cd+A1tINf2vZS4ETQglKAL2inIYpqNFDuP4M\n/K+ZvQfUAWcnOD3J5EYzOwxfJXQFcEFik5OUHGpAEqp5/pvHZqASuDDB6UkWfwKygefNDOAN59z0\nrl6gDrYiIuIpmlpdREQ8RYFJREQ8RYFJREQ8RYFJREQ8RYFJREQ8RYFJREQ8RYFJREQ8RYFJREQ8\n5f8H0a/bD+Or3awAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xa33acc0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "new_X = np.delete(X, sorted_idx, axis=0)\n",
    "new_kmeans = KMeans(n_clusters=1)\n",
    "new_kmeans.fit(new_X)\n",
    "\n",
    "f, ax = plt.subplots(figsize=(7, 5))\n",
    "ax.set_title(\"Extreme Values Removed\")\n",
    "ax.scatter(new_X[:, 0], new_X[:, 1], label='Pruned Points')\n",
    "ax.scatter(kmeans.cluster_centers_[:, 0],kmeans.cluster_centers_[:, 1], label='Old Centroid',color='r',s=80, alpha=.5)\n",
    "ax.scatter(new_kmeans.cluster_centers_[:, 0],new_kmeans.cluster_centers_[:, 1], label='New Centroid',color='m', s=80, alpha=.5)\n",
    "ax.legend(loc='best')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from scipy import stats\n",
    "emp_dist = stats.multivariate_normal(kmeans.cluster_centers_.ravel())\n",
    "lowest_prob_idx = np.argsort(emp_dist.pdf(X))[:5]\n",
    "np.all(X[sorted_idx] == X[lowest_prob_idx])    "
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
